package uaem.tituaem.gui;

import uaem.tituaem.operacionesABCC.Consultas;
import uaem.tituaem.eventosgui.ElegirDeLicenciatura;
import uaem.tituaem.operacionesFicheros.Escribir;
import uaem.tituaem.operacionesFicheros.Lectura;
import uaem.tituaem.ftp.BajarArchivo;
import uaem.tituaem.clasesObjeto.Presentacion;
import java.awt.Image;
import java.awt.event.ItemEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class PresentacionesGUI extends javax.swing.JDialog {

    private Lectura leer=new Lectura();
    private Escribir escribir=new Escribir();
    private String cronFile=TipoOS.getRutaArchivoCron();
    private FormatoCron fc;
    private int contador = 0;
    private Lectura l = new Lectura();
    private ArrayList<Presentacion> todasPre;
    private BajarArchivo ba;
    private int tamañoArray;
    private ArrayList<Presentacion> arrayAux;
    private ImageIcon fot;
    private Icon icono;
    private String imagenes[] = {"img1.jpg", "img2.jpg", "img3.jpg", "img4.jpg", "img5.jpg", "img6.jpg", "img7.jpg", "img8.jpg", "img9.jpg"};

    public PresentacionesGUI(javax.swing.JFrame parent, boolean modal) {
        super(parent, modal);
        try {
            initComponents();
            setLocationRelativeTo(null);
            //ba= new BajarArchivo();
            //ba.descargarPresentacionesFuturas(); //bajamos el archivo a la maquina
            //todasPre = l.leerPresentacionesFuturasCarpetaLocal();
            todasPre = l.leerPresentacionesFuturasSP();//se lo asignamos a elementos
            arrayAux = todasPre;
            this.mostrarPresentaciones(arrayAux, contador);
            this.habilitarBotonAnterior();
            this.habilitarBotonSiguiente();

        } catch (FileNotFoundException ex) {
            Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        tituloTxtFld = new javax.swing.JTextField();
        alumnoLbl = new javax.swing.JLabel();
        licenciaturaLbl = new javax.swing.JLabel();
        formatoLbl = new javax.swing.JLabel();
        fechaLbl = new javax.swing.JLabel();
        horaLbl = new javax.swing.JLabel();
        lugarLbl = new javax.swing.JLabel();
        anteriorBtn = new javax.swing.JButton();
        siguienteBtn = new javax.swing.JButton();
        regresarBtn = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        licenciaturasCmBox = new javax.swing.JComboBox();
        imagenLbl = new javax.swing.JLabel();
        AlarmaBtn = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(590, 590));
        setResizable(false);

        tituloTxtFld.setEditable(false);
        tituloTxtFld.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tituloTxtFldActionPerformed(evt);
            }
        });

        alumnoLbl.setText("jLabel1");

        licenciaturaLbl.setText("jLabel1");
        licenciaturaLbl.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                licenciaturaLblPropertyChange(evt);
            }
        });

        formatoLbl.setText("jLabel1");

        fechaLbl.setText("jLabel1");

        horaLbl.setText("jLabel1");

        lugarLbl.setText("jLabel1");

        anteriorBtn.setText("<<<");
        anteriorBtn.setMaximumSize(new java.awt.Dimension(130, 45));
        anteriorBtn.setMinimumSize(new java.awt.Dimension(130, 45));
        anteriorBtn.setPreferredSize(new java.awt.Dimension(130, 45));
        anteriorBtn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                anteriorBtnActionPerformed(evt);
            }
        });

        siguienteBtn.setText(">>>");
        siguienteBtn.setMaximumSize(new java.awt.Dimension(130, 45));
        siguienteBtn.setMinimumSize(new java.awt.Dimension(130, 45));
        siguienteBtn.setPreferredSize(new java.awt.Dimension(130, 45));
        siguienteBtn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                siguienteBtnActionPerformed(evt);
            }
        });

        regresarBtn.setText("Regresar");
        regresarBtn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                regresarBtnActionPerformed(evt);
            }
        });

        jLabel7.setText("Titulo");

        jLabel8.setText("Licenciatura");

        jLabel9.setText("Formato");

        jLabel10.setText("Fecha");

        jLabel11.setText("Hora");

        jLabel12.setText("Lugar");

        jLabel13.setText("Alumno");

        licenciaturasCmBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Todas las licenciaturas", "Ingenieria en Computacion", "Licenciatura en Informatica Administrativa", "Licenciatura en Turismo", "Licenciatura en Economia", "Licenciatura en Contaduria", "Licenciatura en Administración", "Licenciatura en Derecho", "Licenciatura en Ciencias Politicas y Administracion Publica", "Licenciatura en Lenguas Extranjeras", " " }));
        licenciaturasCmBox.setMaximumSize(new java.awt.Dimension(355, 27));
        licenciaturasCmBox.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                licenciaturasCmBoxItemStateChanged(evt);
            }
        });

        AlarmaBtn.setText("Alarma");
        AlarmaBtn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AlarmaBtnActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(106, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(regresarBtn)
                        .addGap(49, 49, 49))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(licenciaturasCmBox, javax.swing.GroupLayout.PREFERRED_SIZE, 394, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(121, 121, 121))))
            .addGroup(layout.createSequentialGroup()
                .addGap(88, 88, 88)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel7)
                            .addComponent(jLabel8)
                            .addComponent(jLabel9)
                            .addComponent(jLabel10)
                            .addComponent(jLabel11)
                            .addComponent(jLabel12)
                            .addComponent(jLabel13))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(tituloTxtFld)
                            .addComponent(alumnoLbl, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(licenciaturaLbl, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE)
                            .addComponent(formatoLbl, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE)
                            .addComponent(fechaLbl, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE)
                            .addComponent(horaLbl, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE)
                            .addComponent(lugarLbl, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE))
                        .addGap(0, 114, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(imagenLbl, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(anteriorBtn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(siguienteBtn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(18, 18, 18)
                        .addComponent(AlarmaBtn)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(28, 28, 28)
                .addComponent(licenciaturasCmBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(imagenLbl, javax.swing.GroupLayout.DEFAULT_SIZE, 208, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(82, 82, 82)
                        .addComponent(AlarmaBtn)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(anteriorBtn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(siguienteBtn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(34, 34, 34)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(tituloTxtFld, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel13)
                    .addComponent(alumnoLbl))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel8)
                    .addComponent(licenciaturaLbl))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel9)
                    .addComponent(formatoLbl))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(fechaLbl))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel11)
                    .addComponent(horaLbl))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel12)
                    .addComponent(lugarLbl))
                .addGap(1, 1, 1)
                .addComponent(regresarBtn)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
//Metodos
    private void tituloTxtFldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tituloTxtFldActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_tituloTxtFldActionPerformed

    private void regresarBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_regresarBtnActionPerformed

        this.dispose();
    }//GEN-LAST:event_regresarBtnActionPerformed

    private void siguienteBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_siguienteBtnActionPerformed

        if (this.habilitarBotonSiguiente()) {
            this.mostrarPresentaciones(arrayAux, ++contador);
        }

        this.habilitarBotonSiguiente();
        this.habilitarBotonAnterior();

    }//GEN-LAST:event_siguienteBtnActionPerformed

    private void anteriorBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_anteriorBtnActionPerformed

        if (this.habilitarBotonAnterior()) {
            mostrarPresentaciones(arrayAux, --contador);
        }
        this.habilitarBotonAnterior();
        this.habilitarBotonSiguiente();
    }//GEN-LAST:event_anteriorBtnActionPerformed

    private void licenciaturasCmBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_licenciaturasCmBoxItemStateChanged

        if (evt.getStateChange() == ItemEvent.SELECTED) {
            try {
                //esta linea es para que no se repita la accion del clik en el combo
                int op = licenciaturasCmBox.getSelectedIndex();
                switch (op) {
                    case 0:
                        arrayAux = todasPre;
                        contador = 0;
//                        fot = new ImageIcon(imagenes[0].toString());
//                        Imagen(fot);
                        this.habilitarBotonSiguiente();
                        this.habilitarBotonAnterior();
                        mostrarPresentaciones(arrayAux, contador);
                        break;

                    case 1:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Ingenieria en Computacion");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[0].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;//si no hay mas presentaciones de la carrera, muestra todas en general
                            this.habilitarBotonSiguiente();
                        this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 2:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Informatica Administrativa");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[1].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 3:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Turismo");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[2].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 4:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Economia");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[3].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 5:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Contaduria");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[4].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 6:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Administracion");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[5].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 7:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Derecho");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[6].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 8:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Ciencias Politicas y Administracion Publica");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[7].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    case 9:
                        arrayAux = ElegirDeLicenciatura.obtenerPresentacionesPorComboBox(todasPre, "Licenciatura en Lenguas Extranjeras");
                        contador = 0;
//                        fot = new ImageIcon(imagenes[8].toString());
//                        Imagen(fot);
                        if (arrayAux.isEmpty()) {
                            JOptionPane.showMessageDialog(null, "No hay presentaciones proximas de esta licenciatura");
                            arrayAux = todasPre;
                            mostrarPresentaciones(arrayAux, contador);
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                        } else {
                            this.habilitarBotonSiguiente();
                            this.habilitarBotonAnterior();
                            mostrarPresentaciones(arrayAux, contador);
                        }
                        break;
                    default:
                        JOptionPane.showMessageDialog(null, "Error en la consulta");
                        break;

                }
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }//GEN-LAST:event_licenciaturasCmBoxItemStateChanged

    private void licenciaturaLblPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_licenciaturaLblPropertyChange

        String lic=licenciaturaLbl.getText(); //obtengo la licenciatura del label del form
        
        //lamo a la funcin mostrarImagenPorLicenciatura mandandole el nombre de la lic del form
        this.mostrarImagenPorLicenciatura(lic);
        
        
    }//GEN-LAST:event_licenciaturaLblPropertyChange

    private void AlarmaBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AlarmaBtnActionPerformed
        try{    
            String cron=fc.formatoCron(/*horaLbl.getText()*/"2:00", fechaLbl.getText());
            String presentacion=fc.detallesPresentacion(alumnoLbl.getText(), horaLbl.getText(), tituloTxtFld.getText());
            File archivo=new File(cronFile);
            if(archivo.exists()){
                boolean tr=leer.leerArchivoCron(tituloTxtFld.getText());
                if(tr==true){
                    JOptionPane.showMessageDialog(null, "Alarma ya existente", "", JOptionPane.INFORMATION_MESSAGE);
                }
                else{
                    escribir.escribirArchivoCron(cron, tituloTxtFld.getText(), presentacion);
                    JOptionPane.showMessageDialog(null, "Alarma Creada", "", JOptionPane.INFORMATION_MESSAGE);
                }
            }
            else{
                archivo.createNewFile();
                boolean tr=leer.leerArchivoCron(tituloTxtFld.getText());
                if(tr==true){
                    JOptionPane.showMessageDialog(null, "Alarma ya existente", "", JOptionPane.INFORMATION_MESSAGE);
                }
                else{
                    escribir.escribirArchivoCron(cron, tituloTxtFld.getText(), presentacion);
                    JOptionPane.showMessageDialog(null, "Alarma Creada", "", JOptionPane.INFORMATION_MESSAGE);
                }
            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }//GEN-LAST:event_AlarmaBtnActionPerformed

    public void mostrarPresentaciones(ArrayList<Presentacion> l, int i) 
    {
        try {
            SimpleDateFormat f = new SimpleDateFormat("d/MM/yyyy");
            Consultas c = new Consultas();
            Presentacion p = l.get(i);
            this.tituloTxtFld.setText(p.getTitulo());
            this.alumnoLbl.setText(p.getNombreAl() + " " + p.getApellidoP() + " " + p.getApellidoM());
            this.licenciaturaLbl.setText(c.obtenerNombreLicenciatura(p.getLicenciatura()));
            this.formatoLbl.setText(c.obtenerNombreModalidad(p.getModalidad()));
            this.fechaLbl.setText(f.format(p.getFecha()));
            this.horaLbl.setText(p.getHora());
            this.lugarLbl.setText(c.obtenerNombreLugar(p.getLugar()));
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(PresentacionesGUI.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public boolean habilitarBotonSiguiente()
    {
        boolean valor = false;

        if (arrayAux.size() == 1) {
            siguienteBtn.setEnabled(false);
            valor = false;
        } else {
            if (contador == (arrayAux.size()) - 1) {
                siguienteBtn.setEnabled(false);
                valor = false;
            } else {
                if (contador >= 0) {
                    siguienteBtn.setEnabled(true);
                    valor = true;
                }
            }
        }

        return valor;
    }

    public boolean habilitarBotonAnterior()
    {
        boolean valor = false;

        if (arrayAux.size() == 1) {
            anteriorBtn.setEnabled(false);
            valor = false;

        } else {

            if (contador == 0) {
                anteriorBtn.setEnabled(false);
                valor = false;
            } else {
                if (contador <= (arrayAux.size()) - 1) {
                    anteriorBtn.setEnabled(true);
                    valor = true;
                }
            }
        }
        return valor;
    }

    public void mostrarImagenPorLicenciatura(String lic)
    {
        switch(lic)
        {
            case "Ingenieria en Computacion": fot = new ImageIcon(imagenes[0].toString());
                                              Imagen(fot);
                                              break;
            case "Licenciatura en Informatica Administrativa":fot = new ImageIcon(imagenes[1].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Economia":fot = new ImageIcon(imagenes[2].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Ciencias Politicas y Administracion Publica":fot = new ImageIcon(imagenes[3].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Administracion":fot = new ImageIcon(imagenes[4].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Contaduria":fot = new ImageIcon(imagenes[5].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Lenguas Extranjeras":fot = new ImageIcon(imagenes[5].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Turismo":fot = new ImageIcon(imagenes[5].toString());
                                                              Imagen(fot);
                                                              break;
            case "Licenciatura en Derecho":fot = new ImageIcon(imagenes[5].toString());
                                                              Imagen(fot);
                                                              break;    
        }
    }
    
    public int getContador() {
        return contador;
    }

    public JLabel getAlumnoLbl() {
        return alumnoLbl;
    }

    public JButton getAnteriorBtn() {
        return anteriorBtn;
    }

    public JLabel getFechaLbl() {
        return fechaLbl;
    }

    public JLabel getFormatoLbl() {
        return formatoLbl;
    }

    public JLabel getHoraLbl() {
        return horaLbl;
    }

    public JLabel getLicenciaturaLbl() {
        return licenciaturaLbl;
    }

    public JLabel getLugarLbl() {
        return lugarLbl;
    }

    public JButton getRegresarBtn() {
        return regresarBtn;
    }

    public JButton getSiguienteBtn() {
        return siguienteBtn;
    }

    public JTextField getTituloTxtFld() {
        return tituloTxtFld;
    }

    public void Imagen(ImageIcon f) {
        this.icono = new ImageIcon(f.getImage().getScaledInstance(imagenLbl.getWidth(), imagenLbl.getHeight(), Image.SCALE_DEFAULT));
        imagenLbl.setIcon(icono);
    }


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton AlarmaBtn;
    private javax.swing.JLabel alumnoLbl;
    private javax.swing.JButton anteriorBtn;
    private javax.swing.JLabel fechaLbl;
    private javax.swing.JLabel formatoLbl;
    private javax.swing.JLabel horaLbl;
    private javax.swing.JLabel imagenLbl;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JLabel licenciaturaLbl;
    private javax.swing.JComboBox licenciaturasCmBox;
    private javax.swing.JLabel lugarLbl;
    private javax.swing.JButton regresarBtn;
    private javax.swing.JButton siguienteBtn;
    private javax.swing.JTextField tituloTxtFld;
    // End of variables declaration//GEN-END:variables
}
